Custom line item properties
Maker ships with a full suite of product blocks that collect line item properties without any third‑party apps. This guide provides an overview of what's available and how these blocks work together.
Tip: These blocks can be used together on the same product form. Give each property a unique key so they do not overwrite each other in the cart.
Available blocks
Maker includes five custom option blocks for different input types:
Product custom select
Single-choice inputs rendered as dropdowns, enhanced dropdowns, or radio buttons. Perfect for color choices, size options, or any selection where customers pick one option from a list.
Product custom multiselect
Checkbox lists where customers can choose multiple options. Great for add-ons, extras, or features where multiple selections make sense (like "Gift wrapping, Gift card, Premium packaging").
Product custom property
Flexible text inputs including single-line text, textarea with character counters, or simple checkbox acknowledgements. Ideal for personalization like engraving text, special instructions, or agreement checkboxes.
Product file upload
Allow customers to upload files directly with their order. Supports single or multiple files, drag-and-drop or button interfaces, and file type restrictions. Perfect for logo files, artwork, or custom designs.
Product swatch groups
Visual color or material palettes powered by Shopify metaobjects. Display beautiful, tap-friendly swatches with images for options like fabrics, colors, or materials. Supports both single and multiple selection modes.
Shared features
All custom option blocks share the following capabilities:
- Conditional display: Show or hide a block based on the value of another property using the Conditional logic settings. The block remains hidden and its inputs are disabled until the condition is met.
- Product tag filter: Limit a block to products with a specific tag using the Only show when product has tag setting.
- Width controls: Choose full or half width on tablet/desktop for easier layout mixing.
- Fee support: When paired with the optional Custom Option Fees script, specific selections can add a hidden product to the cart. Each block exposes settings for a fee product handle and shows an inline price preview for customers. Read more in Custom Option Fees.
How to name properties
- The Line item property key (or Property key) becomes the label in the cart and order details. Use plain text such as
Patch ColororEngraving. - Shopify automatically namespaces properties as
properties[Patch Color]behind the scenes; you only need to provide the key in the block settings. - Reuse the same property key across languages by translating the cart label in your locale files if needed.
Getting started
- Choose your block type based on the input you need (dropdown, checkboxes, text, file, or visual swatches)
- Add the block to your product form in the Theme Editor
- Configure the property key and options
- Style to match your brand using the available settings
- Test thoroughly to ensure properties appear correctly in the cart
Each block type has its own detailed documentation page with configuration steps, examples, and troubleshooting tips. Click any of the block links above to learn more.
Troubleshooting checklist
- Confirm each property has a unique key before testing. Shopify overwrites duplicate property keys with the last value submitted.
- When fees are involved, preview the cart to ensure the correct fee product is added. Refer to Custom Option Fees for debugging tips.
- If a conditional block never appears, double-check the comparison value spelling—it compares lowercase, trimmed text behind the scenes.
- When using the Hat Lab wizard, keep property keys consistent between the wizard steps and the final product page so data flows cleanly into the cart.
Related documentation
- Custom Option Fees - Add upcharges for specific options
- Product Swatch Groups: Setting up metaobjects - Create visual swatch libraries